<?php

###############################
#     CLASE DE USUARIOS       #                 
###############################

class usuarios extends db_tools {
	
	//Obtener todos los usuarios o 1 en especifico
	function get_users($id_usuarios=''){	
	
		$Query = "SELECT * FROM usuarios WHERE enabled_usuarios = '1'";
		if (!empty($id_usuarios)) { $Query .= " AND id_usuarios = '$id_usuarios'"; }
		$Query .= " ORDER BY id_usuarios DESC";

		return $this->select_tool($Query);
	}
	
	//Obtener Solo los clientes del administrador seleccionado
	function get_clients_by_admin($id_admin){
		
		$Query = "SELECT
					  id_usuarios
					  , usuarios.nombre_usuarios
					  , usuarios.apellido_usuarios
					  , usuarios.telefono_usuarios
					  , usuarios.login_usuarios
					  , usuarios.password_usuarios
					  , usuarios.enabled_usuarios
					  , usuarios_id_usuarios
					  , tipo_usuarios.descripcion_tipo_usuarios
				  FROM
					  usuarios
					  INNER JOIN tipo_usuarios 
						  ON (usuarios.tipo_usuarios_id_tipo_usuarios = tipo_usuarios.id_tipo_usuarios)
				  WHERE usuarios.enabled_usuarios = '1' AND usuarios_id_usuarios = '$id_admin' AND tipo_usuarios.id_tipo_usuarios = '2'
				  ORDER BY id_usuarios DESC";

		return $this->select_tool($Query);
		
	}
	
	function update_usuario($id_usuarios, $nombre_usuarios='', $apellido_usuarios='', $telefono_usuarios='', $login_usuarios='', $password_usuarios='', $tipo_usuarios_id_tipo_usuarios, $usuarios_id_usuarios=''){
			
		$Query = "UPDATE usuarios SET id_usuarios = '$id_usuarios'";
		if (!empty($nombre_usuarios)) { $Query .=  ", nombre_usuarios = '$nombre_usuarios'"; }
		if (!empty($apellido_usuarios)) { $Query .=  ", apellido_usuarios = '$apellido_usuarios'"; }
		if (!empty($telefono_usuarios)) { $Query .=  ", telefono_usuarios = '$telefono_usuarios'"; }
		if (!empty($login_usuarios)) { $Query .=  ", login_usuarios = '$login_usuarios'"; }
		if (!empty($password_usuarios)) { 
			$password_usuarios = md5($password_usuarios);
			$Query .=  ", password_usuarios = '$password_usuarios'"; 
		}
		if (!empty($tipo_usuarios_id_tipo_usuarios)) { $Query .=  ", tipo_usuarios_id_tipo_usuarios = '$tipo_usuarios_id_tipo_usuarios'"; }
		if (!empty($usuarios_id_usuarios)) { $Query .=  ", usuarios_id_usuarios = '$usuarios_id_usuarios'"; }
		$Query .= " WHERE id_usuarios = '$id_usuarios'";
	   
		$this->upt_tool($Query);
	}
	
	function agregar_usuario($nombre_usuarios, $apellido_usuarios, $telefono_usuarios, $login_usuarios='', $password_usuarios='', $tipo_usuarios_id_tipo_usuarios){
		
		//Agrega automaticamente el usuario como cliente de quien este logeado
		$usuarios_id_usuarios = $_SESSION['id_usuarios'];
		
		//Si el tipo de usuario esta vacio coloca 2 (Cliente)
		if (!($tipo_usuarios_id_tipo_usuarios)) { $tipo_usuarios_id_tipo_usuarios=2; }else{ $tipo_usuarios_id_tipo_usuarios=$tipo_usuarios_id_tipo_usuarios; }
		
		if (!($login_usuarios) && !($password_usuarios)) {
			$Query = "INSERT INTO usuarios (nombre_usuarios, apellido_usuarios, telefono_usuarios, usuarios_id_usuarios, tipo_usuarios_id_tipo_usuarios) VALUES ('$nombre_usuarios', '$apellido_usuarios', '$telefono_usuarios', '$usuarios_id_usuarios', '$tipo_usuarios_id_tipo_usuarios')";
		}else{
			$password_usuarios = md5($password_usuarios);
			$Query = "INSERT INTO usuarios (nombre_usuarios, apellido_usuarios, telefono_usuarios, login_usuarios, password_usuarios, usuarios_id_usuarios, tipo_usuarios_id_tipo_usuarios) VALUES ('$nombre_usuarios', '$apellido_usuarios', '$telefono_usuarios', '$login_usuarios', '$password_usuarios', '$usuarios_id_usuarios', '$tipo_usuarios_id_tipo_usuarios')";
		}
		//Si el tipo de usuario es ADMIN agregar inicialmente con el ID del ADMIN PRINCIPAL y luego actualizar a su propio ID
		if ($tipo_usuarios_id_tipo_usuarios==1){ 
			$id_usuario_agregado = $this->ins_tool_return($Query);
			$this->update_usuario($id_usuario_agregado, '', '', '', '', '', '', $id_usuario_agregado);
		}else{
			$this->ins_tool_noreturn($Query);	
		}
	}
	
	function eliminar_usuario($id_usuarios){
		if ($id_usuarios){	
			$Query = "UPDATE usuarios SET enabled_usuarios = '0' WHERE id_usuarios = '$id_usuarios'";		
			$this->upt_tool($Query);		
		}
	}
	
	function get_tipo_usuario($id_tipo_usuarios=''){
		
		$Query = "SELECT * FROM tipo_usuarios WHERE 1=1";
		if (!empty($id_tipo_usuarios)) { $Query .= " AND id_tipo_usuarios = '$id_tipo_usuarios'"; }	
		
		return $this->select_tool($Query);
	}
	
} //Fin de Clase
?>